package common

import (
	"fmt"
	"math/rand"
	"strings"
	"time"
)

func GetOrder() string {
	// 获取当前时间
	currentTime := time.Now()

	// 定义时间格式，包括纳秒
	timeFormat := "20060102150405.999999999"

	// 格式化当前时间
	formattedTime := currentTime.Format(timeFormat)

	// 去掉格式化字符串中的点
	formattedTime = strings.Replace(formattedTime, ".", "", -1)

	// 生成随机的四位数
	rand.Seed(time.Now().UnixNano())
	randomNumber := rand.Intn(9999) // 生成0到9998之间的随机数
	if randomNumber < 1000 {
		randomNumber += 1000 // 确保随机数是四位数
	}

	// 将随机数格式化为四位数字符串
	randomString := fmt.Sprintf("%04d", randomNumber)

	// 拼接最终结果
	result := fmt.Sprintf("%s%s", formattedTime, randomString)
	return result
}
